package br.ita.escolaita.model.entity;

import java.util.List;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name="ALUNO")
@NamedQuery(name = "aluno.findAll", query = "SELECT a FROM Aluno a")
public class Aluno extends Pessoa {

    @Transient
    private static final long serialVersionUID = 1869870060883676457L;

    @ManyToOne
    @JoinColumn(name = "turma_id", insertable = false, updatable = true)
    private Turma turma;

    @Column
    @OneToMany(mappedBy = "aluno", fetch=FetchType.EAGER)
    private Set<Avaliacao> avaliacao;

    
    @OneToMany(mappedBy="aluno", fetch=FetchType.EAGER)
    private Set<Frequencia> frequencia;

    @Transient
    private boolean selecionado;

    // Construtor Default
    public Aluno() {
    }

    /**
     * @return the turma
     */
    public Turma getTurma() {
        return turma;
    }

    /**
     * @param turma the turma to set
     */
    public void setTurma(Turma turma) {
        this.turma = turma;
    }

    /**
     * @return the avaliacao
     */
    public Set<Avaliacao> getAvaliacao() {
        return avaliacao;
    }

    /**
     * @param avaliacao the avaliacao to set
     */
    public void setAvaliacao(Set<Avaliacao> avaliacao) {
        this.avaliacao = avaliacao;
    }

    /**
     * @return the frequencia
     */
    public Set<Frequencia> getFrequencia() {
        return frequencia;
    }

    /**
     * @param frequencia the frequencia to set
     */
    public void setFrequencia(Set<Frequencia> frequencia) {
        this.frequencia = frequencia;
    }

    /**
     * @return the selecionado
     */
    public boolean isSelecionado() {
        return selecionado;
    }

    /**
     * @param selecionado the selecionado to set
     */
    public void setSelecionado(boolean selecionado) {
        this.selecionado = selecionado;
    }
}
 
